#pragma once
#pragma once
#include <iostream>
#include "Protocol.hpp"

using namespace protocol_ns;

class Calculate
{
public:
	Calculate()
	{
	}
	Response Excute(const Request& req)
	{
		Response resp(0, 0);

		switch (req._oper)
		{
		case '+':
			resp._result = req._x + req._y;
			break;
		case '-':
			resp._result = req._x - req._y;
			break;
		case '*':
			resp._result = req._x + req._y;
			break;
		case '/':
		{
			if (req._y == 0)
			{
				resp._code = 1;
			}
			else
			{
				resp._result = req._x / req._y;
			}
		}
		break;
		case '%':
		{
			if (req._y == 0)
			{
				resp._code = 2;
			}
			else
			{
				resp._result = req._x % req._y;
			}
		}
		break;
		default:
			resp._code = 3;
			break;
		}
		return resp;
	}
	~Calculate()
	{
	}

private:
};